package com.example.miaosha.response.base;

import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 基础分页传输对象
 *
 * @Author
 * @Date 2022/1/17 13:59
 */
@Data
public class BasePage<T> {
    /**
     * 总数
     */
    @ApiModelProperty("总数")
    private Long total;
    /**
     * 当前页
     */
    @ApiModelProperty("当前页")
    private Long pageNum;

    /**
     * 页面大小
     */
    @ApiModelProperty("页面大小")
    private Long PageSize;

    /**
     * 数据
     */
    @ApiModelProperty("数据")
    private List<T> data;

    /**
     * 构造方法，传入 mybatis_plus 分页对象
     *
     * @param iPage
     */
    public BasePage(IPage iPage) {
        this.data = iPage.getRecords();
        this.total = iPage.getTotal();
        this.pageNum = iPage.getCurrent();
        this.PageSize = iPage.getSize();
    }

    /**
     * 静态方法，拿到自定义对象
     *
     * @param iPage
     * @return
     */
    public static BasePage getPage(IPage iPage) {
        return new BasePage(iPage);
    }
}
